/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ManagerProyect;
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */



import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
/**
 * clase jtable muestra las variables que se declararon
 * en el codigo del lenguaje a compilar extiende de un JPanel
 * @author sergio
 */
public class jtable extends JPanel {
    private boolean DEBUG = false;

/**
 * variable contiene el nombre de la variable
 */
public static String name;
/**
 * variable contiene el tipo de la variable
 */
public static String path;


/**
 * constructor por defecto
 */public jtable() {
        super(new GridLayout(1,0));

        String[] columnNames = {"Nombre ",
                                "Path"
                               

                                      };
         Object[][] data = new Object[ventana.proyectos.size()][2];
                 for (int i=0; i<ventana.proyectos.size(); i++)
                         {
                     Proyecto var=(Proyecto)ventana.proyectos.get(i);
         name=var.getName();
         path=var.getPath();
      



        data[i][0]=name;
        data[i][1]=path;
       

}


        final JTable table = new JTable(data, columnNames);
        table.setPreferredScrollableViewportSize(new Dimension(500, 300));
        table.setFillsViewportHeight(true);

        if (DEBUG) {
            table.addMouseListener(new MouseAdapter() {
                public void mouseClicked(MouseEvent e) {
                    printDebugData(table);
                }
            });
        }

        /**
         * Create the scroll pane and add the table to it.
         */
        JScrollPane scrollPane = new JScrollPane(table);

        //Add the scroll pane to this panel.
        add(scrollPane);
    }

    private void printDebugData(JTable table) {
        int numRows = table.getRowCount();
        int numCols = table.getColumnCount();
        javax.swing.table.TableModel model = table.getModel();

        System.out.println("Value of data: ");
        for (int i=0; i < numRows; i++) {
            System.out.print("    row " + i + ":");
            for (int j=0; j < numCols; j++) {
                System.out.print("  " + model.getValueAt(i, j));
            }
            System.out.println();
        }
        System.out.println("--------------------------");
    }

    /**
     * Create the GUI and show it.  For thread safety,
     * this method should be invoked from the
     * event-dispatching thread.
     */
    private static void createAndShowGUI() {
        //Create and set up the window.
        JFrame frame = new JFrame("Tabla de Simbolos");
        //frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //Create and set up the content pane.
        jtable newContentPane = new jtable();
        newContentPane.setOpaque(true); //content panes must be opaque
        frame.setContentPane(newContentPane);

        //Display the window.
        frame.pack();
        frame.setVisible(true);
    }
/**
 * metodo para hacer visible el panel Jtable
 */
    public static void cargar() {
        //Schedule a job for the event-dispatching thread:
        //creating and showing this application's GUI.
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }
}
